#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
洪水预报智能代理前端启动脚本

使用方法:
    python run_frontend.py
    
或者直接使用streamlit:
    streamlit run streamlit_frontend.py
"""

import os
import sys
import subprocess
from pathlib import Path

def main():
    """启动Streamlit前端应用"""
    # 获取当前脚本所在目录
    current_dir = Path(__file__).parent
    frontend_file = current_dir / "streamlit_frontend.py"
    
    # 检查前端文件是否存在
    if not frontend_file.exists():
        print(f"❌ 前端文件不存在: {frontend_file}")
        sys.exit(1)
    
    print("🌊 启动洪水预报智能代理前端...")
    print(f"📁 工作目录: {current_dir}")
    print(f"📄 前端文件: {frontend_file}")
    print("\n" + "="*50)
    print("🚀 正在启动 Streamlit 应用...")
    print("📱 应用将在浏览器中自动打开")
    print("🛑 按 Ctrl+C 停止应用")
    print("="*50 + "\n")
    
    try:
        # 切换到前端文件所在目录
        os.chdir(current_dir)
        
        # 启动streamlit应用
        cmd = [
            sys.executable, 
            "-m", 
            "streamlit", 
            "run", 
            str(frontend_file),
            "--server.port=8501",
            "--server.address=localhost",
            "--browser.gatherUsageStats=false"
        ]
        
        subprocess.run(cmd, check=True)
        
    except KeyboardInterrupt:
        print("\n🛑 应用已停止")
    except subprocess.CalledProcessError as e:
        print(f"❌ 启动失败: {e}")
        print("\n💡 请确保已安装 streamlit:")
        print("   pip install streamlit")
        sys.exit(1)
    except Exception as e:
        print(f"❌ 未知错误: {e}")
        sys.exit(1)

if __name__ == "__main__":
    main()